Skip to content

doc,build,win: update docs with clang #57991

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 30, 2025

Conversation

StefanStojanovic
Copy link
Contributor

This PR changes the documentation to fit the new compiler on Windows - ClangCL. The main focus is the BUILDING.md file. All three Windows Prerequisites sections are updated to reflect the compiler change (WinGet configuration already supported it, so no changes there).

In addition, there are changes to vcbuild.bat to add the clang-cl flag for Node.js v24+ even if not provided. Since v24 will include #57753 (or some other V8 update), compiling with MSVC will result in errors, so IMHO, there is not much use in allowing MSVC compilation at all, although I'm open to suggestions and different opinions on this.

Updated BUILDING.md to make ClangCL mandatory for new versions of Node.
Forcing clang-cl flag in vcbuild if not specified, thus disabling MSVC.
@StefanStojanovic StefanStojanovic added doc Issues and PRs related to the documentations. windows Issues and PRs related to the Windows platform. build Issues and PRs related to build files or the CI. labels Apr 23, 2025
@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. labels Apr 23, 2025
@richardlau richardlau added dont-land-on-v18.x dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v23.x PRs that should not land on the v23.x-staging branch and should not be released in v23.x. labels Apr 23, 2025
Copy link
Member

@joyeecheung joyeecheung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM % a suggestion to the log, I think just saying it's mandatory might make people unfamiliar with the process think that they need to do something to make it work when they see the log, even though it's purely informative.

Co-authored-by: Joyee Cheung <[email protected]>
@joyeecheung joyeecheung added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 24, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 24, 2025
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot
Copy link
Collaborator

@StefanStojanovic StefanStojanovic added the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 30, 2025
@nodejs-github-bot nodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Apr 30, 2025
@nodejs-github-bot
Copy link
Collaborator

Commit Queue failed
- Loading data for nodejs/node/pull/57991
✔  Done loading data for nodejs/node/pull/57991
----------------------------------- PR info ------------------------------------
Title      doc,build,win: update docs with clang (#57991)
   ⚠  Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch     StefanStojanovic:mefi-clang-doc -> nodejs:main
Labels     doc, windows, build, tools, needs-ci, dont-land-on-v18.x, dont-land-on-v20.x, dont-land-on-v22.x, dont-land-on-v23.x
Commits    2
 - doc,build,win: update docs with clang
 - Update vcbuild.bat
Committers 2
 - StefanStojanovic <[email protected]>
 - GitHub <[email protected]>
PR-URL: https://github.com/nodejs/node/pull/57991
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/57991
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
--------------------------------------------------------------------------------
   ℹ  This PR was created on Wed, 23 Apr 2025 14:06:54 GMT
   ✔  Approvals: 3
   ✔  - Richard Lau (@richardlau) (TSC): https://github.com/nodejs/node/pull/57991#pullrequestreview-2787527994
   ✔  - Joyee Cheung (@joyeecheung) (TSC): https://github.com/nodejs/node/pull/57991#pullrequestreview-2791118510
   ✔  - Luigi Pinca (@lpinca): https://github.com/nodejs/node/pull/57991#pullrequestreview-2788669874
   ✔  Last GitHub CI successful
   ℹ  Last Full PR CI on 2025-04-28T14:55:52Z: https://ci.nodejs.org/job/node-test-pull-request/66501/
- Querying data for job/node-test-pull-request/66501/
   ✔  Last Jenkins CI successful
--------------------------------------------------------------------------------
   ✔  No git cherry-pick in progress
   ✔  No git am in progress
   ✔  No git rebase in progress
--------------------------------------------------------------------------------
- Bringing origin/main up to date...
From https://github.com/nodejs/node
 * branch                  main       -> FETCH_HEAD
✔  origin/main is now up-to-date
- Downloading patch for 57991
From https://github.com/nodejs/node
 * branch                  refs/pull/57991/merge -> FETCH_HEAD
✔  Fetched commits as a7cbb9047455..f8bce751bbbd
--------------------------------------------------------------------------------
Auto-merging BUILDING.md
[main 49114546ed] doc,build,win: update docs with clang
 Author: StefanStojanovic <[email protected]>
 Date: Wed Apr 23 12:53:31 2025 +0200
 3 files changed, 13 insertions(+), 9 deletions(-)
[main 2f0886cb01] Update vcbuild.bat
 Author: Stefan Stojanovic <[email protected]>
 Date: Thu Apr 24 09:38:46 2025 +0200
 1 file changed, 1 insertion(+), 1 deletion(-)
   ✔  Patches applied
There are 2 commits in the PR. Attempting autorebase.
Rebasing (2/4)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
doc,build,win: update docs with clang

Updated BUILDING.md to make ClangCL mandatory for new versions of Node.
Forcing clang-cl flag in vcbuild if not specified, thus disabling MSVC.

PR-URL: #57991
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>

[detached HEAD 45e9e6c27c] doc,build,win: update docs with clang
Author: StefanStojanovic <[email protected]>
Date: Wed Apr 23 12:53:31 2025 +0200
3 files changed, 13 insertions(+), 9 deletions(-)
Rebasing (3/4)
Rebasing (4/4)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
Update vcbuild.bat

Co-authored-by: Joyee Cheung <[email protected]>
PR-URL: #57991
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>

[detached HEAD c72ccd741c] Update vcbuild.bat
Author: Stefan Stojanovic <[email protected]>
Date: Thu Apr 24 09:38:46 2025 +0200
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/main.

ℹ Add commit-queue-squash label to land the PR as one commit, or commit-queue-rebase to land as separate commits.

https://github.com/nodejs/node/actions/runs/14748719324

@richardlau richardlau added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. and removed commit-queue-failed An error occurred while landing this pull request using GitHub Actions. labels Apr 30, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 30, 2025
@nodejs-github-bot nodejs-github-bot merged commit 2244a09 into nodejs:main Apr 30, 2025
70 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 2244a09

@Flarna
Copy link
Member

Flarna commented Apr 30, 2025

I guess this should be included into the 24 release and also part of the notable changes there.

RafaelGSS pushed a commit that referenced this pull request May 1, 2025
Updated BUILDING.md to make ClangCL mandatory for new versions of Node.
Forcing clang-cl flag in vcbuild if not specified, thus disabling MSVC.

PR-URL: #57991
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
RafaelGSS pushed a commit that referenced this pull request May 2, 2025
Updated BUILDING.md to make ClangCL mandatory for new versions of Node.
Forcing clang-cl flag in vcbuild if not specified, thus disabling MSVC.

PR-URL: #57991
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. doc Issues and PRs related to the documentations. dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v23.x PRs that should not land on the v23.x-staging branch and should not be released in v23.x. needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants